<?php

namespace Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * InventoryItem
 *
 * @ORM\Table(name="inventory_item")
 * @ORM\Entity
 */
class InventoryItem
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;

    /**
     * @var string
     *
     * @ORM\Column(name="uuid", type="string", length=36, nullable=false)
     */
    protected $uuid;

    /**
     * @var string
     *
     * @ORM\Column(name="type", type="string", length=45, nullable=false)
     */
    protected $type;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=250, nullable=false)
     */
    protected $name;

    /**
     * @var integer
     *
     * @ORM\Column(name="cash_required", type="integer", nullable=false)
     */
    protected $cashRequired;

    /**
     * @var integer
     *
     * @ORM\Column(name="honor_points_required", type="integer", nullable=false)
     */
    protected $honorPointsRequired;

    /**
     * @var integer
     *
     * @ORM\Column(name="suppression", type="integer", nullable=false)
     */
    protected $suppression;

    /**
     * @var integer
     *
     * @ORM\Column(name="rate_of_fire", type="integer", nullable=false)
     */
    protected $rateOfFire;

    /**
     * @var integer
     *
     * @ORM\Column(name="mobility", type="integer", nullable=false)
     */
    protected $mobility;

    /**
     * @var integer
     *
     * @ORM\Column(name="secrecy", type="integer", nullable=false)
     */
    protected $secrecy;

    /**
     * @var integer
     *
     * @ORM\Column(name="productivity", type="integer", nullable=false)
     */
    protected $productivity;

    /**
     * @var float
     *
     * @ORM\Column(name="theft_chance", type="float", nullable=false)
     */
    protected $theftChance;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="last_modified", type="datetime", nullable=false)
     */
    protected $lastModified;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set uuid
     *
     * @param string $uuid
     * @return InventoryItem
     */
    public function setUuid($uuid)
    {
        $this->uuid = $uuid;
    
        return $this;
    }

    /**
     * Get uuid
     *
     * @return string 
     */
    public function getUuid()
    {
        return $this->uuid;
    }

    /**
     * Set type
     *
     * @param string $type
     * @return InventoryItem
     */
    public function setType($type)
    {
        $this->type = $type;
    
        return $this;
    }

    /**
     * Get type
     *
     * @return string 
     */
    public function getType()
    {
        return $this->type;
    }

    /**
     * Set name
     *
     * @param string $name
     * @return InventoryItem
     */
    public function setName($name)
    {
        $this->name = $name;
    
        return $this;
    }

    /**
     * Get name
     *
     * @return string 
     */
    public function getName()
    {
        return $this->name;
    }

    /**
     * Set cashRequired
     *
     * @param integer $cashRequired
     * @return InventoryItem
     */
    public function setCashRequired($cashRequired)
    {
        $this->cashRequired = $cashRequired;
    
        return $this;
    }

    /**
     * Get cashRequired
     *
     * @return integer 
     */
    public function getCashRequired()
    {
        return $this->cashRequired;
    }

    /**
     * Set honorPointsRequired
     *
     * @param integer $honorPointsRequired
     * @return InventoryItem
     */
    public function setHonorPointsRequired($honorPointsRequired)
    {
        $this->honorPointsRequired = $honorPointsRequired;
    
        return $this;
    }

    /**
     * Get honorPointsRequired
     *
     * @return integer 
     */
    public function getHonorPointsRequired()
    {
        return $this->honorPointsRequired;
    }

    /**
     * Set suppression
     *
     * @param integer $suppression
     * @return InventoryItem
     */
    public function setSuppression($suppression)
    {
        $this->suppression = $suppression;
    
        return $this;
    }

    /**
     * Get suppression
     *
     * @return integer 
     */
    public function getSuppression()
    {
        return $this->suppression;
    }

    /**
     * Set rateOfFire
     *
     * @param integer $rateOfFire
     * @return InventoryItem
     */
    public function setRateOfFire($rateOfFire)
    {
        $this->rateOfFire = $rateOfFire;
    
        return $this;
    }

    /**
     * Get rateOfFire
     *
     * @return integer 
     */
    public function getRateOfFire()
    {
        return $this->rateOfFire;
    }

    /**
     * Set mobility
     *
     * @param integer $mobility
     * @return InventoryItem
     */
    public function setMobility($mobility)
    {
        $this->mobility = $mobility;
    
        return $this;
    }

    /**
     * Get mobility
     *
     * @return integer 
     */
    public function getMobility()
    {
        return $this->mobility;
    }

    /**
     * Set secrecy
     *
     * @param integer $secrecy
     * @return InventoryItem
     */
    public function setSecrecy($secrecy)
    {
        $this->secrecy = $secrecy;
    
        return $this;
    }

    /**
     * Get secrecy
     *
     * @return integer 
     */
    public function getSecrecy()
    {
        return $this->secrecy;
    }

    /**
     * Set productivity
     *
     * @param integer $productivity
     * @return InventoryItem
     */
    public function setProductivity($productivity)
    {
        $this->productivity = $productivity;
    
        return $this;
    }

    /**
     * Get productivity
     *
     * @return integer 
     */
    public function getProductivity()
    {
        return $this->productivity;
    }

    /**
     * Set theftChance
     *
     * @param float $theftChance
     * @return InventoryItem
     */
    public function setTheftChance($theftChance)
    {
        $this->theftChance = $theftChance;
    
        return $this;
    }

    /**
     * Get theftChance
     *
     * @return float 
     */
    public function getTheftChance()
    {
        return $this->theftChance;
    }

    /**
     * Set lastModified
     *
     * @param \DateTime $lastModified
     * @return InventoryItem
     */
    public function setLastModified($lastModified)
    {
        $this->lastModified = $lastModified;
    
        return $this;
    }

    /**
     * Get lastModified
     *
     * @return \DateTime 
     */
    public function getLastModified()
    {
        return $this->lastModified;
    }
}
